	var setting = {

		view: {
			dblClickExpand: false,
			addHoverDom: addHoverDom,
			removeHoverDom: removeHoverDom,
			selectedMulti: false
		},
		edit: {
			enable: true,
			editNameSelectAll: true,
			showRemoveBtn: false,
			showRenameBtn: false
		},
		data: {
			simpleData: {
				enable: true,
			}
		},
		callback: {
			beforeDrag: beforeDrag,
			onClick:zTreeOnClick
		}
	};

	function zTreeOnClick(event, treeId, treeNode) {
	    //获取数据，打开频道下文档列表
		createTab(treeNode.id);
		//当前频道赋值
		$('#channelid').val(treeNode.id);
		$("#btn_adddoc").show();
	};

	function beforeDrag(treeId, treeNodes) {
		return false;
	}

	function addHoverDom(treeId, treeNode) {
		
		var sObj = $("#" + treeNode.tId + "_span");
		if (treeNode.editNameFlag || $("#previewBtn_"+treeNode.tId).length>0 || $("#pubBtn_"+treeNode.tId).length>0 || $("#puballBtn_"+treeNode.tId).length>0 ) return;
		var addStr = "<span class='glyphicon glyphicon-eye-open' id='previewBtn_" + treeNode.tId
			+ "' title='预览' style='font-size:14px;vertical-align:top' onfocus='this.blur();'></span>";
		addStr += "<span class='glyphicon glyphicon-leaf' id='pubBtn_" + treeNode.tId
		+ "' title='发布' style='font-size:14px;vertical-align:top' onfocus='this.blur();'></span>";
		addStr += "<span class='glyphicon glyphicon-fire' id='puballBtn_" + treeNode.tId
		+ "' title='全部发布' style='font-size:14px;vertical-align:top' onfocus='this.blur();'></span>";
		
		sObj.after(addStr);
		var previewbtn = $("#previewBtn_"+treeNode.tId);
		var pubbtn = $("#pubBtn_"+treeNode.tId);
		var puballbtn = $("#puballBtn_"+treeNode.tId);
		
		if (previewbtn) previewbtn.bind("click", function(){
			var zTree = $.fn.zTree.getZTreeObj("treeDemo");
			zTree.selectNode(treeNode);				
			//这里是自定义事件();
		    $.ajax({
		    	   url:"pub!previewchannel.action",   
				   type:"post",   
				   data:{id:treeNode.id},
				   async:false,
				   dataType:"json",   
				   success:function(data){
					    var newWindow = window.open();
					    newWindow.document.write(data.htmlString);
					    newWindow.document.close();
						return false;
				   },
				   error: function (xhr, textStatus, errorThrown) {
			            //尚未配置模板提示
						alert("进入error---");
						alert("状态码："+xhr.status);
						alert("状态:"+xhr.readyState);//当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
						alert("错误信息:"+xhr.statusText );
						alert("返回响应信息："+xhr.responseText );//这里是详细的信息
						alert("请求状态："+textStatus);
						alert(errorThrown);
						alert("请求失败"); 
				   }
				   
		    });
			
			
			return false;
		});

		if (pubbtn) pubbtn.bind("click", function(){
			var zTree = $.fn.zTree.getZTreeObj("treeDemo");
			zTree.selectNode(treeNode);				
			//这里是自定义事件();
		if(confirm("确认发布吗？")){
		    $.ajax({
		    	   url:"pub!pubchannel.action",   
				   type:"post",   
				   data:{id:treeNode.id},
				   async:false,
				   dataType:"json",   
				   success:function(data){
//					    var newWindow = window.open("about:blank");
//					    newWindow.document.write(data.htmlString);
						return false;
				   },
				   error: function (xhr, textStatus, errorThrown) {
			            //尚未配置模板提示
						alert("进入error---");
						alert("状态码："+xhr.status);
						alert("状态:"+xhr.readyState);//当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
						alert("错误信息:"+xhr.statusText );
						alert("返回响应信息："+xhr.responseText );//这里是详细的信息
						alert("请求状态："+textStatus);
						alert(errorThrown);
						alert("请求失败"); 
				   }
				   
		    });
		}//end confirm
			
			return false;
		});
		
		if (puballbtn) puballbtn.bind("click", function(){
			var zTree = $.fn.zTree.getZTreeObj("treeDemo");
			zTree.selectNode(treeNode);				
			//这里是自定义事件();
		if(confirm("确认全部发布吗？")){
		    $.ajax({
		    	   url:"pub!puballchannel.action",   
				   type:"post",   
				   data:{id:treeNode.id},
				   async:false,
				   dataType:"json",   
				   success:function(data){
//					   createTab($('#channelid').val());
					   return false;
				   },
				   error: function (xhr, textStatus, errorThrown) {
			            //尚未配置模板提示
						alert("进入error---");
						alert("状态码："+xhr.status);
						alert("状态:"+xhr.readyState);//当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
						alert("错误信息:"+xhr.statusText );
						alert("返回响应信息："+xhr.responseText );//这里是详细的信息
						alert("请求状态："+textStatus);
						alert(errorThrown);
						alert("请求失败"); 
				   }
				   
		    });
		}//end confirm
			
			return false;
		});
	
	};
		
	function removeHoverDom(treeId, treeNode) {
		$("#previewBtn_"+treeNode.tId).unbind().remove();
		$("#pubBtn_"+treeNode.tId).unbind().remove();
		$("#puballBtn_"+treeNode.tId).unbind().remove();

	};
	
	var overAllIds = [];//相关新闻全局ID集合
	
	$("#btn_adddoc").click(function(){
			
		$("#doclistdiv").hide();
		$("#docadddiv").show();
		
		$('#docid').val("0");
		$('#docname').val("");
		$('#doccontent').val("");
		
		CKEDITOR.replace( 'doccontent' );
		CKEDITOR.instances.doccontent.setData("");
	    CKEDITOR.instances["doccontent"].on("instanceReady", function(){    
	    	 
	    	//set keyup event  
            this.document.on("keyup", updateTextArea);  
             //and paste event 
            this.document.on("paste", updateTextArea);
            
       	 CKEDITOR.instances.doccontent.on('change',function(e){//content为textarea的id
    		 var a = e.editor.document ;
             var b = a.find("img");
             var count = b.count();
             for(var i=0;i<count;i++){
            	 var src =b.getItem(i).$.src;//获取img的src
                 if(src.substring(0,4)=='file'){

                	 $.ajax({
                         type:"POST",
                         url : "ckeditorUpload.action",
                         async:false,//同步，因为修改编辑器内容的时候会多次调用change方法，所以要同步，否则会多次调用后台
                         data: {"path":b.getItem(i).$.src},
                         dataType:"json", 
                         success:function(data){
//                        	 var data=eval('(' + data + ')'); 
//             				if(data.statusCode=='200'){
//                                 var imgurl=data.filename; //上传服务器之后的地址
                                   //获取并更改到现有的图片标签src的值
                                 b.getItem(i).$.src=data.url;
                                 var a = CKEDITOR.instances.doccontent.document.$.getElementsByTagName("img")[i];
                                 a.setAttribute('data-cke-saved-src',data.url);
//             				}
                         },
          			   error: function (xhr, textStatus, errorThrown) {
       		            //尚未配置模板提示
       					alert("进入error---");
       					alert("状态码："+xhr.status);
       					alert("状态:"+xhr.readyState);//当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
       					alert("错误信息:"+xhr.statusText );
       					alert("返回响应信息："+xhr.responseText );//这里是详细的信息
       					alert("请求状态："+textStatus);
       					alert(errorThrown);
       					alert("请求失败"); 
          			   }
                	 }); 
                 } else{
                	 //不是本地图片不处理
                	// alert(src);
                 }
            	
             }
    	 });
            
	    });    
	    	  
	    function updateTextArea()  
	    {    
	        CKEDITOR.tools.setTimeout( function() 
	              {    
	        	 	CKEDITOR.instances.doccontent.updateElement();
	                $("#doccontent").trigger('keyup');    
	              }, 0);  
	    }
		
		//增加附件和相关新闻
		overAllIds.length = 0 ;//新建文档时相关新闻重置为空
		$("#AppendixesTable tbody").find("tr").remove();
	});
		
	 $("#btn_submit").click(function(){   
		  //把表单的数据进行序列化  
//	         for (var instance in CKEDITOR.instances)
		 //增加附件列表表单数据

			//尝试获取隐藏值
//			var appendixpath = $("#AppendixesTable tbody").find("tr:eq(2) td:eq(1)").find("input[name='appendixpath']").val();
//			var appendixstyle = $("#AppendixesTable tbody").find("tr:eq(2) td:eq(1)").find("input[name='appendixstyle']").val();
//			alert($("#AppendixesTable tbody").find("tr:eq(2) td:eq(1)").text());
		 

		 var appendixtabledata = [];
		 var rows = $("#AppendixesTable tbody").find("tr").length;
		 for(var i=0;i<rows;i++){
			 var arr = [];
			 arr.push($("#AppendixesTable tbody").find("tr").eq(i).find("td").eq(1).find("input[name='appendixpath']").val());//附件路径
			 arr.push($("#AppendixesTable tbody").find("tr").eq(i).find("td").eq(1).find("input[name='appendixstyle']").val());//附件类型
			 arr.push($("#AppendixesTable tbody").find("tr").eq(i).find("td").eq(1).text());//附件名称
			 appendixtabledata.push(arr);
		 }
		 
		 //增加相关新闻参数
		 
       CKEDITOR.instances.doccontent.updateElement();
          
  	    var flag = $("#documentForm").valid();
	    if(!flag){
	        //没有通过验证
	        return;
	    }
		  var params = $("form").serialize()+'&'+$.param({'appendixtabledata':appendixtabledata}, true)+'&'+$.param({'relatedNewstabledata':overAllIds}, true); 

		  $.ajax({   
		   url:"document!adddoc.action",   
		   type:"post", 
		   data:params, 
		   async:false,
		   dataType:"json",   
		   success:function(data){
				$("#doclistdiv").show();
				$("#docadddiv").hide();
		        createTab($('#channelid').val());
		   		},//刷新指定文档列表
	       error: function (xhr, textStatus, errorThrown) {
	            /*错误信息处理*/
				alert("进入error---");
				alert("状态码："+xhr.status);
				alert("状态:"+xhr.readyState);//当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
				alert("错误信息:"+xhr.statusText );
				alert("返回响应信息："+xhr.responseText );//这里是详细的信息
				alert("请求状态："+textStatus);
				alert(errorThrown);
				alert("请求失败"); 
				}
		   });  
	  
		  return false;
		  
	});
	 
  $("#btn_preview").click(function(){
	 var appendixtabledata = [];
	 var rows = $("#AppendixesTable tbody").find("tr").length;
	 for(var i=0;i<rows;i++){
		 var arr = [];
		 arr.push($("#AppendixesTable tbody").find("tr").eq(i).find("td").eq(1).find("input[name='appendixpath']").val());//附件路径
		 arr.push($("#AppendixesTable tbody").find("tr").eq(i).find("td").eq(1).find("input[name='appendixstyle']").val());//附件类型
		 arr.push($("#AppendixesTable tbody").find("tr").eq(i).find("td").eq(1).text());//附件名称
		 appendixtabledata.push(arr);
	 }
	 //增加相关新闻参数
      CKEDITOR.instances.doccontent.updateElement();
      
	  var params = $("form").serialize()+'&'+$.param({'appendixtabledata':appendixtabledata}, true)+'&'+$.param({'relatedNewstabledata':overAllIds}, true); 

	  $.ajax({
	   url:"pub!previewdocument.action",
	   type:"post", 
	   data:params, 
	   async:false,
	   dataType:"json",   
	   success:function(data){
		    var newWindow = window.open("about:blank");
		    newWindow.document.write(data.htmlString);
		    return false;
	   		},//刷新指定文档列表
       error: function (xhr, textStatus, errorThrown) {
            /*错误信息处理*/
			alert("进入error---");
			alert("状态码："+xhr.status);
			alert("状态:"+xhr.readyState);//当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
			alert("错误信息:"+xhr.statusText );
			alert("返回响应信息："+xhr.responseText );//这里是详细的信息
			alert("请求状态："+textStatus);
			alert(errorThrown);
			alert("请求失败"); 
			}
	   });
	  
	}); 
	 
    function editdoc(docid){

		$("#doclistdiv").hide();
		$("#docadddiv").show();
		overAllIds.length = 0;
	    $.ajax({
	    	   url:"document!editdoc.action",   
			   type:"post",   
			   data:{docid:docid},
			   async:false,
			   dataType:"json",   
			   success:function(data){
				    $('#myModal').modal({backdrop: 'static', keyboard: false});//模态框禁用空白处点击关闭
				    $("#myModalLabel").text("修改文档");
				    $('#myModal').modal('show');
				    $('#docid').val(data.docid);
				    $('#channelid').val(data.channelid);
					$('#docname').val(data.docname);
					
//							alert(data.doccontent);
//							$('#doccontent').val(data.doccontent);
//							CKEDITOR.instances.doccontent.setData(data.doccontent);
//					         for (var instance in CKEDITOR.instances)
//							CKEDITOR.replace( 'doccontent' );
//					CKEDITOR.replace( 'doccontent', {
//					    on: {
//					        instanceReady: function( evt ) {
//					        	 CKEDITOR.instances.doccontent.insertHtml(data.doccontent);
//					        }
//					    }
//					});
					
					CKEDITOR.replace( 'doccontent' );
					CKEDITOR.instances.doccontent.setData(data.doccontent);
				    CKEDITOR.instances["doccontent"].on("instanceReady", function(){    
				    	//set keyup event  
			            this.document.on("keyup", updateTextArea);  
			             //and paste event 
			            this.document.on("paste", updateTextArea);
			          	 CKEDITOR.instances.doccontent.on('change',function(e){//content为textarea的id
			        		 var a = e.editor.document ;
			                 var b = a.find("img");
			                 var count = b.count();
			                 for(var i=0;i<count;i++){
			                	 var src =b.getItem(i).$.src;//获取img的src
			                     if(src.substring(0,4)=='file'){

			                    	 $.ajax({
			                             type:"POST",
			                             url : "ckeditorUpload.action",
			                             async:false,//同步，因为修改编辑器内容的时候会多次调用change方法，所以要同步，否则会多次调用后台
			                             data: {"path":b.getItem(i).$.src},
			                             dataType:"json", 
			                             success:function(data){
//			                            	 var data=eval('(' + data + ')'); 
//			                 				if(data.statusCode=='200'){
//			                                     var imgurl=data.filename; //上传服务器之后的地址
			                                       //获取并更改到现有的图片标签src的值
			                                     b.getItem(i).$.src=data.url;
			                                     var a = CKEDITOR.instances.doccontent.document.$.getElementsByTagName("img")[i];
			                                     a.setAttribute('data-cke-saved-src',data.url);
//			                 				}
			                             },
			              			   error: function (xhr, textStatus, errorThrown) {
			           		            //尚未配置模板提示
			           					alert("进入error---");
			           					alert("状态码："+xhr.status);
			           					alert("状态:"+xhr.readyState);//当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
			           					alert("错误信息:"+xhr.statusText );
			           					alert("返回响应信息："+xhr.responseText );//这里是详细的信息
			           					alert("请求状态："+textStatus);
			           					alert(errorThrown);
			           					alert("请求失败"); 
			              			   }
			                    	 }); 
			                     } else{
			                    	 //不是本地图片不处理
			                    	// alert(src);
			                     }
			                	
			                 }
			        	 });
				    });    
				    	  
				    function updateTextArea()  
				    {    
				        CKEDITOR.tools.setTimeout( function() 
				              {    
				        	 	CKEDITOR.instances.doccontent.updateElement();
				                $("#doccontent").trigger('keyup');    
				              }, 0);  
				    }

				  //删除附件所有缓存
					$("#AppendixesTable tbody").find("tr").remove();
				    //插入文档对应附件
				   $.each(data.appendixlist,function(i,value){
//					   alert(i+" "+value.appendixname+" "+value.appendixpath+" "+value.appendixstyle);
				   		var result="";
				        result +="<tr>";
				        result +="<td>"+ (i+1) +"</td>";
				        result +="<td><input type=\"hidden\" id=\"appendixpath\" name=\"appendixpath\" value=\""+ value.appendixpath +"\"/>";
				        result +="<input type=\"hidden\" id=\"appendixstyle\" name=\"appendixstyle\" value=\""+ value.appendixstyle +"\"/>";
				        result +=value.appendixname+"</td>";
//				        result +="<td><a href='#' οnclick='removeObject(this);return false;'>删除</a></td>";
				        result +="<td><button style='cursor: pointer' class='btn btn-danger btn-xs' title='删除' onclick='removeTr(this)'>删除</button></td>";
				        result +="</tr>";
				        $("#AppendixesTable tbody").append(result);	
				   });
				//插入相关新闻	
				   $("#RelatedDocsTable tbody").find("tr").remove();
				   
				   $.each(data.relatedDocs,function(i,value){
					    overAllIds.push(value.docid);
				   		var result="";
				        result +="<tr>";
				        result +="<td>"+ (i+1) +"</td>";
				        result +="<td>"+ value.docname+"</td>";
				        result +="<td><button style='cursor: pointer' class='btn btn-danger btn-xs' title='删除' onclick='removeRelatedDocs(this, "+ value.docid +")'>删除</button></td>";
				        result +="</tr>";
				        $("#RelatedDocsTable tbody").append(result);	
				   });  	
					
			   }
	    });
	    

	    
	    
    }
		 
		 
	 $("#btn_cancel").click(function(){   
//		 var zTree = $.fn.zTree.getZTreeObj("treeDemo");
//		 zTree.cancelSelectedNode();
//		CKEDITOR.instances.doccontent.setData("");
//		CKEDITOR.instances.doccontent.updateElement();
//		$('#doccontent').val("");
		$("#doclistdiv").show();
		$("#docadddiv").hide();
		overAllIds.length = 0;
	});
	 
	 $("#btn_close").click(function(){   
		 var zTree = $.fn.zTree.getZTreeObj("treeDemo");
		 zTree.cancelSelectedNode();
	}); 
	 
	$(function(){
		
		$("#doclistdiv").show();
		$("#docadddiv").hide();
		$("#btn_adddoc").hide();
		
		refresh();
		
	    $("#documentForm").validate({
	        rules: {
//	        	docname: {
////	                //异步验证 开始
//	                remote: {
//	                    url: "document!validatedocname.action",//发送请求的url地址
//	                    type: "post", //请求方式
//	                    dataType: "json",//接收的数据类型
//	                    data: {
//	                    	docname: function () {
//	                            return $("#docname").val();
//	                        }
//	                    },
//	                    dataFilter: function (data, type) { //过滤返回结果
//	                        //增加对修改的忽略
//	                    	var json = JSON.parse(data);
//	                    	return json.result;
//	                          
//	                    }
//	                }
//	                //异步验证 结束
//	            },
	            doccontent: {
	                required: true
	            }
	        },
//	    	ignore: '',
	    	messages: {
	    		docname: {
	                required: "请输入文档名称",
	                remote:"输入的文档名称已经存在"
	            },
	            doccontent: {
	                required: "请输入文档内容"
	            }
	        }
	        
	    });
		
	    $("#uploadform").validate({
	    	messages: {
	    		upload: {
	                required: "请选择上传附件文件"
	            }
	        }
	    });
   

		
	});

	function refresh(){
		$.ajax({
			url : "site!listtreenodes.action",
			type : "post",
			async: false,
			dataType : "json",
			success : initZtree
		});
	}
	
	function initZtree(json) {
		var data = (json.tree);
		var zNodes = eval("(" + data + ")");
		zTree = $.fn.zTree.init($('#treeDemo'), setting, zNodes);
		
	}
		
	function createTab(channelid) {
	        $('#searchResults').bootstrapTable('destroy').bootstrapTable({
	            url: 'document!listdocs.action',
	            /*data : data,*/

	            toolbar: '#toolbar',                //工具按钮用哪个容器
	            method: 'post',                      //请求方式（*）
	            contentType: "application/x-www-form-urlencoded",//post请求的话就加上这个句话
	            striped: true,                      //是否显示行间隔色
	            cache: false,                       //是否使用缓存
	            toolbarAlign: "right", //工具栏对齐方式
	            sidePagination: "server", //分页方式：client客户端分页，server服务端分页（*）
	            search: true,//是否显示表格搜索，此搜索是客户端搜索，不会进服务端
	            showSearchButton: true,
	            uniqueId: "docid",
	            pageNumber: 1,                       //初始化加载第一页
	            pageSize: 8,                       //每页的记录行数
	            pageList: [8], //可供选择的每页的行数
	            pagination: true, // 是否分页
	            sortable: true, // 是否启用排序
	            sortOrder: "asc",                   //排序方式
	            showColumns: true, //是否显示列选择按钮
	            showRefresh: true,                  //是否显示刷新按钮
	            minimumCountColumns: 2, // 最少允许的列数
	            clickToSelect: true,                //是否启用点击选中行
	            height: "",                        //行高
	            showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
	            cardView: false,                    //是否显示详细视图
	            detailView: false,                   //是否显示父子表
                paginationPreText: "上一页",
                paginationNextText: "下一页",
	            queryParamsType: 'limit',//设置请求参数格式
//		            queryParams: function queryParams(params) { //设自定义查询参数
//		                /*请求远程数据时，您可以通过修改queryParams来发送其他参数。
//		                如果queryParamsType = 'limit'，params对象包含：limit，offset，search，sort，order。
//		                否则，它包含：pageSize，pageNumber，searchText，sortName，sortOrder。
//		                返回false停止请求。
//		                默认： function(params) { return params }*/
//		                return params;
//		            },
	            queryParams: function (params) {//自定义参数，这里的参数是传给后台的，我这是是分页用的  
                    return {//这里的params是table提供的  
                        offset: params.offset,//从数据库第几条记录开始  
                        limit: params.limit,//找多少条
                        search:params.search,
                        channelid:channelid
                    };
	            },
	            columns: [
                {
                    title: "全选",
                    field: "select",
                    checkbox: true,
                    width: 20, //宽度
                    align: "center", //水平
                    valign: "middle" //垂直
                },
                {
                    field: 'no',
                    title: '序号',
                    width: 40, //宽度
                    align: "center",
                    formatter: function (value, row, index) {
                        return index + 1;
                    }
                },
                {
                    field: 'docname',
                    title: '文档名称',
                    align: 'center',
                    valign: 'middle',
                    cellStyle: formatTableUnit,
                    formatter: paramsMatter
                },
                {
                    field: 'docstate',
                    title: '发布状态',
                    width: 80, //宽度
                    align: 'center',
                    valign: 'middle'
                },
                {
                    field: 'docid',
                    title: '操作',
                    width: 160,
                    align: 'center',
                    valign: 'middle',
                    formatter: actionFormatter
                }
            ]
	        });

	    }

	    //操作栏的格式化
	    function actionFormatter(value, row, index) {
	    	
	        var id = row.docid;
	        var result = "";
	        result += "<button style='cursor: pointer' class='btn btn-primary btn-xs' title='修改' onclick='editdoc("+id+")'><span class='glyphicon glyphicon-pencil'></span></button> ";
	        result += "<button style='cursor: pointer' class='btn btn-primary btn-xs' title='删除' onclick='deldoc("+id+")'><span class='glyphicon glyphicon-trash'></span></button> ";
	        result += "<button style='cursor: pointer' class='btn btn-primary btn-xs' title='预览' onclick='previewdoc("+id+")'><span class='glyphicon glyphicon-eye-open'></span></button> ";
	        result += "<button style='cursor: pointer' class='btn btn-primary btn-xs' title='发布' onclick='pubdoc("+id+")'><span class='glyphicon glyphicon-leaf'></span></button>";
	        return result;
	    }
	    
        //表格超出宽度鼠标悬停显示td内容
        function paramsMatter(value, row, index) {
            var span = document.createElement("span");
            span.setAttribute("title", value);
            span.innerHTML = value;
            return span.outerHTML;
        }
        //td宽度以及内容超过宽度隐藏
        function formatTableUnit(value, row, index) {
            return {
                css: {
                    "white-space": "nowrap",
                    "text-overflow": "ellipsis",
                    "overflow": "hidden",
                    "max-width": "60px"
                }
            }
        }

  //The final solution code for all bugs ckeditor in twitter bootstrap3' modal		
    $.fn.modal.Constructor.prototype.enforceFocus = function() {
    	var $modalElement = this.$element;
    	$(document).on('focusin.modal',function(e) {
    		 var $parent = $(e.target.parentNode);
    		 if ($modalElement[0] !== e.target
    				 && !$modalElement.has(e.target).length
    				 && $(e.target).parentsUntil('*[role="dialog"]').length === 0) {
    			 $modalElement.focus();
    		    }
    	  });
    };

    function deldoc(docid){
		if(confirm("确认删除吗？")){
		    $.ajax({
		    	   url:"document!deldoc.action",   
				   type:"post",   
				   data:{docid:docid},
				   async:false,
				   dataType:"json",   
				   success:function(data){
					   createTab($('#channelid').val());
				   }
		    });
		}

    }
	
    function previewdoc(docid){
	    $.ajax({
	    	   url:"pub!previewdocument.action",   
			   type:"post",   
			   data:{docid:docid},
			   async:false,
			   dataType:"json",   
			   success:function(data){
				    var newWindow = window.open("about:blank");
				    newWindow.document.write(data.htmlString);
					return false;
			   },
			   error: function (xhr, textStatus, errorThrown) {
		            //尚未配置模板提示
					alert("进入error---");
					alert("状态码："+xhr.status);
					alert("状态:"+xhr.readyState);//当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
					alert("错误信息:"+xhr.statusText );
					alert("返回响应信息："+xhr.responseText );//这里是详细的信息
					alert("请求状态："+textStatus);
					alert(errorThrown);
					alert("请求失败"); 
			   }
	    });
    }
	
    function pubdoc(docid){
	    $.ajax({
	    	   url:"pub!pubdocument.action",   
			   type:"post",   
			   data:{docid:docid},
			   async:true,
			   dataType:"json",   
			   success:function(data){
				   createTab($('#channelid').val());
			   },
			   error: function (xhr, textStatus, errorThrown) {
		            //尚未配置模板提示
					alert("进入error---");
					alert("状态码："+xhr.status);
					alert("状态:"+xhr.readyState);//当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
					alert("错误信息:"+xhr.statusText );
					alert("返回响应信息："+xhr.responseText );//这里是详细的信息
					alert("请求状态："+textStatus);
					alert(errorThrown);
					alert("请求失败"); 
			   }
	    });
    }
    

    //导入附件
	$("#btn_importappendixes").click(function(){
		$('#uploadModal').modal({backdrop: 'static', keyboard: false});//模态框禁用空白处点击关闭
		$("#uploadModalLabel").text("插入附件");
		$('#uploadModal').modal('show');
		$('#upload').val("");
	});
    
	//附件导入
	$("#btn_upload").click(function(){   
	    var flag = $("#uploadform").valid();
	    if(!flag){
	        //没有通过验证
	        return;
	    }
		 
		
	  var formdata = new FormData($('#uploadform')[0]);  
	  $.ajax({   
	   url:"ckeditorUpload.action",   
	   type:"post",   
	   data:formdata, 
	   async:false,
       cache: false,  
       contentType: false,  
       processData: false,
	   dataType:"json",   
	   success:function(data){
		        
	   		//分解data.fileName得到名称和后缀
		   	//增加附件行，依次插入序号、url、style、name、删除。
			var index = $("#AppendixesTable tbody").find("tr").length + 1;
			var arr = [];
			var sepIndex = data.fileName.lastIndexOf(".");
			arr[0] = data.fileName.substring(sepIndex+1);
			arr[1] = data.fileName.substring(0,sepIndex);
	   		var result="";
	        result +="<tr>";
	        result +="<td>"+ index +"</td>";
	        result +="<td><input type=\"hidden\" id=\"appendixpath\" name=\"appendixpath\" value=\""+ data.url +"\"/>";
	        result +="<input type=\"hidden\" id=\"appendixstyle\" name=\"appendixstyle\" value=\""+ arr[0] +"\"/>";
	        result +=arr[1]+"</td>";
//	        result +="<td><a href='#' οnclick='removeObject(this);return false;'>删除</a></td>";
	        result +="<td><button style='cursor: pointer' class='btn btn-danger btn-xs' title='删除' onclick='removeTr(this)'>删除</button></td>";
	        result +="</tr>";
	        $("#AppendixesTable tbody").append(result);	
	        $('#uploadModal').modal("hide");
   			}
	   });   
	});
	
	function removeTr(obj) {

        $($(obj).parent().parent().nextAll("tr")).each(function () {
            var a=$(this).find('td').eq(0).text();
            $(this).find('td').eq(0).text(a-1);
        });
        $(obj).parent().parent().remove();
    }

	

    //选择相关文档
	$("#btn_selectrelateddocs").click(function(){
		$('#selectModal').modal({backdrop: 'static', keyboard: false});//模态框禁用空白处点击关闭
		$("#selectModalLabel").text("选择相关新闻");
		$('#selectModal').modal('show');
		
		//将已有集合与文档列表ID比对，为真勾选
        $('#selectResults').bootstrapTable('destroy').bootstrapTable({
            url: 'document!listalldocs.action',
            toolbar: '#selecttoolbar',                //工具按钮用哪个容器
            method: 'post',                      //请求方式（*）
            contentType: "application/x-www-form-urlencoded",//post请求的话就加上这个句话
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存
            toolbarAlign: "right", //工具栏对齐方式
            sidePagination: "server", //分页方式：client客户端分页，server服务端分页（*）
            search: true,//是否显示表格搜索，此搜索是客户端搜索，不会进服务端
            showSearchButton: true,
            uniqueId: "docid",
            pageNumber: 1,                       //初始化加载第一页
            pageSize: 10,                       //每页的记录行数
            pageList: [10, 20, 30], //可供选择的每页的行数
            pagination: true, // 是否分页
            sortable: true, // 是否启用排序
            sortOrder: "asc",                   //排序方式
            showColumns: true, //是否显示列选择按钮
            showRefresh: true,                  //是否显示刷新按钮
            minimumCountColumns: 2, // 最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            maintainSelected: true,  //默认false，设置为"true"可在翻页时保留所选行
            height: "",                        //行高
            showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            paginationPreText: "上一页",
            paginationNextText: "下一页",
            queryParamsType: 'limit',//设置请求参数格式
            queryParams: function (params) {//自定义参数，这里的参数是传给后台的，我这是是分页用的  
                return {//这里的params是table提供的  
                    offset: params.offset,//从数据库第几条记录开始  
                    limit: params.limit,//找多少条
                    search:params.search
                };
            },
            columns: [
            {
                title: "全选",
                field: "select",
                checkbox: true,
                width: 20, //宽度
                align: "center", //水平
                valign: "middle", //垂直
                formatter: function(i, row){
                	if($.inArray(row.docid, overAllIds) != -1){
                		return {
                			checked: true
                		}
                	}else{
                		return {
                			checked: false
                		}
                	}
                }
            },
            {
                field: 'no',
                title: '序号',
                align: "center",
                formatter: function (value, row, index) {
                    return index + 1;
                }
            },
            {
                field: 'docname',
                title: '文档名称',
                align: 'center',
                valign: 'middle'
            },
            {
                field: 'docid',
                visible: false,
            }
        ]
        });
        $('#selectResults').on('uncheck.bs.table check.bs.table check-all.bs.table uncheck-all.bs.table',function (e,rows) {
            var datas=$.isArray(rows)?rows:[rows];
            examine(e.type,datas);
        });
        function examine(type, datas) {
            if (type.indexOf('uncheck') == -1) {
                $.each(datas, function (i, v) {
                    overAllIds.indexOf(v.docid)==-1?overAllIds.push(v.docid):-1;
                });
            } else {
                $.each(datas, function (i, v) {
                    overAllIds.splice(overAllIds.indexOf(v.docid),1);
                })
            }
        }
	
	});
    
    //相关新闻选择提交，根据ID集合访问得到返回结果
	$("#btn_select").click(function(){

		var params = $.param({'relatedNewstabledata':overAllIds}, true);
		  $.ajax({   
			   url:"document!listrelatednews.action",   
			   type:"post", 
			   data:params, 
			   async:false,
			   dataType:"json",   
			   success:function(data){
				   
				   $("#RelatedDocsTable tbody").find("tr").remove();
				   $.each(data.relatedDocs,function(i,value){
				   		var result="";
				        result +="<tr>";
				        result +="<td>"+ (i+1) +"</td>";
				        result +="<td>"+ value.docname+"</td>";
				        result +="<td><button style='cursor: pointer' class='btn btn-danger btn-xs' title='删除' onclick='removeRelatedDocs(this, "+ value.docid +")'>删除</button></td>";
				        result +="</tr>";
				        $("#RelatedDocsTable tbody").append(result);	
				   });  
	   			}
		  
			   }); 
	}); 
	
	function removeRelatedDocs(obj,id) {

        $($(obj).parent().parent().nextAll("tr")).each(function () {
            var a=$(this).find('td').eq(0).text();
            $(this).find('td').eq(0).text(a-1);
        });
        $(obj).parent().parent().remove();
        overAllIds.splice(overAllIds.indexOf(id),1);

    }
	
	
    